package com.nowcoder.community.service;

import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public interface FollowService {

    void follow(int userId, int entityType, int entityId);

    void unfollow(int userId, int entityType, int entityId);

    // 查询某个用户关注了多少个entityType的实体
    long findFolloweeCount(int userId, int entityType);

    // 查询关注了某个实体的粉丝的数量
    long findFollowerCount(int entityType, int entityId);

    // 查询当前用户是否已关注某个实体
    boolean isFollowed(int userId, int entityType, int entityId);

    // 查询某个用户关注的人的列表
    List<Map<String, Object>> findFolloweeList(int userId, int entityId, int limit, int offset);

    // 查询某用户的粉丝列表
    List<Map<String, Object>> findFollowerList(int entityType, int entityId, int limit, int offset);

}
